Q: インターネットセットアップ支援ソフトウェアを書いています。PPPoE セットアップコードをテストしたいのですが、PPPoE コンセントレータにアクセスする方法がありません。テスト用に、Mac OS X を PPPoE サーバとして使うことはできますか?
A: できます。PPPoE サーバとして機能させるコンピュータの「ターミナル」ウインドウで、次の 2 つのコマンドラインを入力します。
sudo sysctl -w net.inet.ip.forwarding=1
sudo pppd plugin PPPoE.ppp noauth debug nodetach persist holdoff 1 mru 1492 mtu 1492 proxyarp pppoemode listen 10.0.0.32:10.0.0.64 ms-dns 17.128.100.9
警告: 上記のコマンドは、プライベートネットワーク(単独のネットワークやファイアウォールの背後のネットワーク)で PPPoE をテストするために特別に用意されたものです。実稼動用の PPPoE や、公共のネットワークには適しません。
|
1 つ目のコマンドラインでは、コンピュータ上での IP 転送を有効にしています。これを有効にしないと、PPPoE クライアントは、PPPoE サーバ自体としか通信を行えません。
2 つ目のコマンドラインの各要素については、以下に説明します。
sudo コマンドでは pppd を特権付きで実行しています。これは PPPoE サーバをこの方法で起動するために必要になります。
pppd は、Mac OS X の PPP デーモンプログラムの名前です。
plugin PPPoE.ppp オプションにより、pppd は PPPoE プラグインを読み込むことができます。
noauth オプションは、どのクライアントも認証なしで PPPoE サーバに接続できるようにします。上述の警告に気をつけてください。
debug オプションは、制御パケットの内容を「ターミナル」ウインドウに出力します。
- 通常、
pppd は制御端末から切り離されてバックグラウンドで実行します。nodetach オプションはこれを防ぐものであり、その後に ^C と入力すれば pppd を終了できるので便利です。
persist オプションは、クライアントが切断したときに pppd が終了するのを防ぎます。これを使用すると、サーバに触れずに、必要な回数だけクライアントの接続と切断を行えるので便利です。
holdoff 1 オプションを使うと、pppd は、接続が終了してから 1 秒後にリスニングを再開します。
- 最大受信単位 (MRU) と最大転送単位 (MTU) の値は、オプション
mru 1492 mtu 1492 を使って設定されます。これらの値が PPPoE の標準値です。
proxyarp オプションを使うと、クライアントは、PPPoE サーバ自身以外のコンピュータと通信できます。これは、PPPoE クライアントからインターネット上の他のコンピュータに接続する場合に必要です。
pppoemode listen オプションは、着信接続をリッスンするように pppd に強制します。
10.0.0.32:10.0.0.64 オプションは、PPP 接続のためにローカルとリモートの IP アドレスを指定します。この 2 つの IP アドレスは、PPPoE サーバのローカルサブネットで未使用の IP アドレスでなければなりません。1 つ目は PPP 接続のローカルアドレスとして使用されます。2 つ目は PPP 接続のリモートアドレスになるもので、PPP クライアントに渡されます。この例では 10.0.0.z アドレスを使用しますが、これは、NAT ルータを使用している場合には適切なアドレスです。
ms-dns 17.128.100.9 オプションにより、(RFC 1877 に記載されているように、IPCP オプション 129 および 131 を使って)pppd からクライアントに渡される DNS サーバの IP アドレスを指定できます。これにより、クライアント側で DNS を手動で設定する必要がなくなります。17.128.100.9 は、お使いのネットワークに適した DNS サーバの IP アドレスに置き換える必要があります。
このコマンドラインをサーバで実行した後は、クライアント側で基本的な PPPoE 設定を作成し、Internet Connect を実行し、サーバに接続できるはずです。
これらの pppd オプションについての詳細については、ターミナルで man pppd と入力してください。
[2003 年 4 月 11 日]
|